package com.lh.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lh.entity.table.DeadlineNode;
import com.lh.entity.table.RectificationInfo;
import com.lh.entity.vo.*;
import org.apache.ibatis.annotations.Param;

public interface RectificationInfoMapper extends BaseMapper<RectificationInfo> {

	public List<RectificationInfoDirTreeVo> selectProjectDirTree();

	public List<RectificationInfoDirTreeVo> selectProjectDirTreeAll(String departmentName,String leadUnit);

	public List<RectificationInfoDirTreeVo> selectAreaTypeDirTree();

	public List<RectificationInfoDirTreeVo> selectDepartmentDirTree();

	List<RectificationInfoDirTreeVo> selectDepartmentNameList();

	List<RectificationInfoDirTreeVo> selectDepartmentStreetNameList();

	List<CountAmount> getCountAmount(@Param("projectStatus") String projectStatus);

	List<CountAmountInvestment> countAmountInvestment(@Param("projectStatus") String projectStatus);

	List<CountAmountBefore> countAmountBefore(
			@Param("startTime") String startTime,
			@Param("endTime") String endTime,
			@Param("projectChildCategoryType") String projectChildCategoryType,
			@Param("projectStatus") String projectStatus
	);

	List<RectificationInfo> countAmountDetails(@Param("startTime") String startTime,
										 @Param("projectChildCategoryType") String projectChildCategoryType,
										 @Param("label") String label,
										 @Param("departmentName") String departmentName,
										 @Param("isOver10Billion") Integer isOver10Billion,
										 @Param("projectStatus") String projectStatus);

	List<RectificationInfo> rectificationDetails(@Param("deadline") String deadline,
												 @Param("projectChildCategoryType") String projectChildCategoryType,
												 @Param("projectStatus") String projectStatus);

	List<DeadlineNode> allDeadline();

	List<TerminationRectificationVo> terminationRectification(@Param("projectChildCategoryType") String projectChildCategoryType);
}
